﻿using System.Collections.Generic;
using System.Threading.Tasks;
using Jinjia.Approve.Entity.Entity;
using Jinjia.Approve.Entity.Entity.Brand;
using Jinjia.Approve.Model.VM;
using Jinjia.Approve.Model.VM.Org;

namespace Jinjia.Approve.IRepository.JJFlow
{
    public interface IJJApproversRepository
    {
        Task<List<brand_leader_mapping_tbl>> GetBrandLeader(string biz_order_id);

        Task<OrgStructure> GetOrgStructure(int user_id);

        Task<OrgStructure> GetOrgNodeByUserId(int user_id);

        Task<List<OrgDept>> GetOrgNodeByNodeId(int node_id);

        Task<OrgNode> GetOrgLeaderNodeByNodeId(int node_id);

        Task<List<Model.VM.Org.Org>> FXBlackListCustomersApproverGetOrg(string biz_order_id);
        
        Task<List<Model.VM.Org.Org>> FXPlatformCustomersApproverGetOrg(string biz_order_id);

        Task<List<oa_org_member_list>> GetOrgMemberList(string biz_order_id);

        Task<List<int>> OakLogisticsPriceApproverGetOrg(string biz_order_id);

        Task<List<int>> GetLeaderList(int id);

        Task<List<int>> PromotionApplyApproverRealizeGetApproverIds(int master_id);

        Task<List<int>> PurchaseApproverRealizeGetLeaderIdList(string biz_order_id);

        Task<int> UserDimissionHandoverApproverGetUserId(string biz_order_id);

        /// <summary>
        /// 获取结算单对应红人数据
        /// </summary>
        /// <param name="master_id"></param>
        /// <returns></returns>
        public AdSettlementVM GetAdSettlementData(int master_id);

        /// <summary>
        /// 获取红人商务审批人
        /// </summary>
        /// <param name="hr_id"></param>
        /// <returns></returns>
        public List<SettlementHrDirectorVM> GetSettlementHrDirectorDatas(int hr_id);

        /// <summary>
        /// 获取广告验收单对接人
        /// </summary>
        /// <param name="master_id"></param>
        /// <returns></returns>
        public int GetAdAcceptanceTransactUserId(int master_id);
    }
}